home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d7 / docsdsz.arc / DSZ.DOC < prev    next >
Text File  |  1990-02-04  |  85KB  |  1,957 lines

  1.   DSZ.COM - ZMODEM-90(TM), True YMODEM(TM), XMODEM File Transfer Program
  2.  
  3.                   Chuck Forsberg -  Omen Technology Inc
  4.  
  5. ───────────
  6. DESCRIPTION:
  7. ───────────
  8.  
  9. DSZ is a "protocol driver" that uses the ZMODEM-90(TM), True YMODEM(TM), or
  10. XMODEM protocol to transfer files over a serial port with a variety of
  11. programs.
  12.  
  13. ZMODEM Transfers feature 32 bit CRC, advanced file management, and Crash
  14. Recovery, ZMODEM Crash Recovery can be used to complete interrupted file
  15. transfers started with any protocol.
  16.  
  17. DSZ has two main commands for ZMODEM transfers: "sz" sends file(s), and "rz"
  18. receives them.
  19.  
  20. When calling bulletin boards to download files with ZMODEM you can avoid the
  21. bother of starting DSZ for each transfer by calling DSZ first, before asking
  22. the BBS for the download.
  23.  
  24.         dsz t
  25.  
  26. The "t" command allows you to keyboard the file request directly to the BBS.
  27. (The "t" stands for "terminal emulation".) Just give the "dsz t" command from
  28. DOS or your comms program's DOS GATEWAY.  DSZ's ZMODEM AutoDownload then
  29. receives the file automatically, using the filename provided by the BBS,
  30. without any wasted keystrokes or delay.  Try it, you'll like it!  (The "t"
  31. command is described below.)
  32.  
  33. YMODEM downloads are almost as easy.  Use the "t" command as shown above, and
  34. hit the F3 key after telling the board to download a file with YMODEM.
  35.  
  36. ZMODEM and True YMODEM(TM) transfers preserve exact file length and
  37. modification time.
  38.  
  39. DSZ supports XMODEM-1k (XMODEM with 1024 byte blocks, sometimes mislabeled as
  40. ymodem) and CRC-16 with the sx -k and rc commands.
  41.  
  42. DSZ is derived from Omen Technology's "Professional-YAM" high reliability
  43. communications tools (also known as PowerCom(TM)) and Omen Technology's ZCOMM
  44. User Supported Communications Software.  DSZ supports a subset of Pro-YAM's
  45. file transfer related commands.  This documentation makes extensive references
  46. to contemporary editions of the Pro-YAM or ZCOMM manual, and is incomplete
  47. without it.  (Registered copies include an alternate, copyrighted file.)
  48.  
  49. DSZ is usually called from a communications or bulletin board program.
  50.  
  51. DSZ uses its own modem I/O.  The original interrupt vector, UART parity, and
  52. interrupt configuration are restored on exit.  The original state of the 8259
  53. interrupt mask bit for this vector is also restored on exit.
  54.  
  55. DSZ uses DOS standard output (stdout) for messages.  DSZ never writes directly
  56. to the screen.  DSZ expects its standard output to point to the console, a
  57. logging file, or NUL, but never the modem port.  If dsz's standard output is
  58. redirected to the modem (as with ProComm's Host mode DOS shell), the
  59. combination will lock up the computer.  When necessary, dsz's standard output
  60. can be redirected back to the console device with the CON command.
  61.  
  62. Users of pcAnywhere must use dsz's A command to disable pcAnywhere host mode
  63. during file transfers.
  64.  
  65. DSZ exits with 0 status for successful transfers, or the value of the Q
  66. parameter (default 1) if a file transfer failed, or if no files were
  67. transferred.  Many languages and "door" programs do not return this
  68. information to the calling program.  Some languages and "door" programs freak
  69. out (hang) on certain non-zero exit values.
  70.  
  71. A batch file that calls DSZ directly may be used to detect the DSZ exit status
  72. with the DOS "errorlevel" construct.  Please refer to the Q numeric parameter
  73. below for more information.
  74.  
  75. DSZ's log file entries may also be examined to determine the success or
  76. failure of a file transfer.
  77.  
  78.  
  79. ────────────────────────
  80. DSZ.COM SETUP PARAMETERS:
  81. ────────────────────────
  82.  
  83.     Except as noted, all commands and options must be typed in lower case.
  84.  
  85.                            DO NOT USE UPPER CASE!!
  86.  
  87. Optional commands or arguments are shown in square brackets [].
  88.  
  89. When used (in any combination), the A, CON, port, speed, handshake, estimate,
  90. and d commands must be used in exactly this order:
  91.                                                                     
  92.  
  93. DSZ.COM [A] [CON] [port N] [speed S] [handshake] [D] [d] [pxN] file
  94.                                                                transfer
  95.                                                                command
  96.  
  97.  
  98. [A]
  99.       Suspend pcAnywhere operation during file transfers.  The A command is
  100.       used to avoid lockups caused by pcAnywhere host mode.  This command
  101.       should be given to the program running under pcAnywhere host mode.
  102.  
  103.       EXAMPLE: C>dsz A sz *.foo Sends files from a pcAnywhere hosted machine
  104.       to you.
  105.  
  106.       Fm: Al de la Torre
  107.  
  108.       1. sending from host to remote
  109.              type: "dsz A sz filename.ext" ENTER
  110.              shell to dos on remote machine (ctrl-Rshift)
  111.              type: "dsz A rz" ENTER
  112.  
  113.       2. sending from remote to host
  114.              type: "dsz A rz" ENTER
  115.              shell to dos on remote machine (ctrl-Rshift)
  116.              type: "dsz A sz filename.ext" ENTER
  117.  
  118.  
  119. [CON]
  120.       Redirect message output to the DOS "CON"  (console)  device,  overriding
  121.       any previous redirections.  This is necessary to avoid lockups caused by
  122.       ProComm host mode.  Most  programs  do  not  require  this  hack.   This
  123.       command is unique to DSZ.
  124.  
  125.  
  126. [port N]
  127.  
  128.       select port N (n = 1,2,3,4,5,6,7,8, 10,11,12,13,14,15,16,17,18) Default
  129.       is port 1 (COM1) or read from the DSZPORT dos environment variable.
  130.       COM11 to COM18 refer to the COM1 to COM8 ports on the PS/2.
  131.  
  132.       DSZ's COM3 uses 3E8 and IRQ4.  DSZ's COM4 uses 2E8 and IRQ3.
  133.       DSZ's COM7 uses 3E8 and IRQ5.  DSZ's COM8 uses 2E8 and IRQ5.
  134.  
  135.       If you wish to use COM3 or COM4 and your computer is not wired according
  136.       to one of these choices, you MUST use the "portx" command to specify
  137.       base address and interrupt vector.
  138.  
  139.       EXAMPLE: to use COM2:
  140.       dsz port 2 rz
  141.  
  142.       In multitasking operation, accessing a port used by another running
  143.       program will hang the machine.
  144.  
  145.  
  146. [portx base,irq]
  147.  
  148.       To select an arbitrary port address and interrupt vector, the
  149.       portx command must be used instead of the port command.
  150.  
  151.       EXAMPLE: dsz portx 3e8,4 speed 2400 rz
  152.  
  153.  
  154. [speed S]
  155.  
  156.       Set the specified speed.  This command is rarely needed because DSZ
  157.       reads the port's current speed by default.
  158.       DSZ supports a maximum speed of 38400.  Please study all the
  159.       chapters of this document when using speeds above 2400 bps.
  160.  
  161.  
  162. [handshake (ON) (BOTH) (SLOW)]
  163.  
  164.          Enable one of several choices of handshake (ie Flow Control).
  165.          ON enables CTS/RTS Hardware Flow Control; BOTH enables CTS/RTS 
  166.          Hardware Flow Control *And* XOFF/XON software Flow Control; SLOW
  167.          has been added to disable the RTS signal to the modem while
  168.          writing to disk, even if the interrupt buffer is not chock full of        
  169.          bytes.  This should help systems with excessive interrupt latency on 
  170.          disk writes. (see Got Zpros section towards end of manual)
  171.          
  172.          In DSZ the "handshake"
  173.          command may be abbreviated to "ha".
  174.  
  175.  
  176. [estimate (length) (speed)]
  177.  
  178.       Use  the  specified  length  and  optional  specified
  179.       effective  transfer speed for the next receive file to be created. This
  180.       command must come *after* any port, speed, or handshake commands.
  181.  
  182.       The following makes DSZ calculate file transfer times on  the  basis  of
  183.       290 character per second aggregate transfer rate:
  184.  
  185.       EXAMPLE: dsz port 2 speed 9600 estimate 0 2900 rz
  186.  
  187.       EXAMPLE: dsz port 2 speed 9600 estimate 0 2900 sz bimama.zip
  188.  
  189.  
  190. [D]
  191.       Disables the modem (drops Data Terminal Ready, DTR) if carrier is lost.
  192.       This may be used to prevent spurious events (phone ringing) from
  193.       interfering with the calling bulletin board's recovery from carrier
  194.       loss.
  195.  
  196. [d]
  197.       Disables carrier dropout monitoring, for modems that do not properly
  198.       drive the "Carrier Detect" input on the PC.  If you see a No Carrier
  199.       Detect message, you need to give the d command.  Before using the d
  200.       command, make sure you have the proper port selected!!!
  201.  
  202.  
  203. [LARG]  Convert ARG to lower case, then parse arg.
  204.  
  205.  
  206. [pxN] 
  207.       Set a numeric parameter x to N.  These parameters are mostly a subset of
  208.       the Pro-YAM/ZCOMM numeric parameters, and are listed below.  They assume
  209.       their defaults each time DSZ is called.  Without an argument, p displays
  210.       the numeric parameters and their values.
  211.  
  212.       EXAMPLE: C>dsz p
  213.  
  214.       z pxN Set zmodem numeric parameter x to N.  These parameters correspond
  215.       to the Pro-YAM or ZCOMM "zmodem" parameters and rarely need changing.
  216.       These parameters assume their defaults each time DSZ is called.  Without
  217.       an argument, z p displays the zmodem numeric parameters and their
  218.       values.
  219.  
  220.  
  221. [restrict]
  222.  
  223.       Restrict pathnames to the current disk and directory tree, and
  224.       disallow overwriting of existing files.  When DSZ is restricted, it will
  225.       refuse to transfer files containing the string autoexec.bat and
  226.       command.com in upper or lower case.  This provides some defense from
  227.       malicious uploaded files.
  228.  
  229.  
  230. [t]   (-T) (-8g)      Talk with ZMODEM AutoDownload.
  231.  
  232.       DSZ's ZMODEM AutoDownload(Tm) detects the start of a ZMODEM file
  233.       download and accepts the file(s) without operator intervention.
  234.  
  235.       The optional -T forces DSZ to exit after it has recognized a ZMODEM
  236.       AutoDownload(Tm) request.
  237.  
  238.       The optional -8g (available on registered copies only) enables reception
  239.       of "BBS (ANSI) graphics" displays.  (A video device driver such as
  240.       ANSI.SYS must be loaded to support some types of graphics.) A small
  241.       subset of ZCOMM/Pro-YAM term function subcommands are recognized.
  242.  
  243.       Keyboard F1 or ALT-X to exit.  F3 receives file(s) with True YMODEM(TM),
  244.       ALT-P toggles parity between the 8n default and 8g (enables ANSI
  245.       "graphics").  ALT-H toggles two local echo ("Half Duplex") modes; the
  246.       second displays a newline (CR/LF) when Enter is keyboarded.  Keyboarded
  247.       ASCII characters are sent to the modem.  ALT-B sends a break.
  248.  
  249.       Characters from the modem print on the screen.  A device driver such as
  250.       ANSI.SYS may be used to recognize escape sequences.
  251.  
  252. [o]   Turn off Data Terminal Ready (DTR), terminating ("offing") the
  253.       connection if the modem responds to DTR.  Useful with the "t" command to
  254.       disconnect afterwards.
  255.  
  256.       EXAMPLE: dsz t o
  257.  
  258.  
  259. ────────────────────────────────────────
  260. NUMERIC PARAMETERS:    THE  pxN  COMMAND
  261. ────────────────────────────────────────
  262.  
  263. DSZ uses the following main numeric parameters, settable with the pxN command.
  264.  
  265. EXAMPLE:   dsz pQ0
  266.  
  267.  
  268. B   Set the size of buffer used for disk reads and writes.  The default is
  269.     1024, 4096 maximum.  (16384 max on DSZ.EXE) If your copy of DSZ is running
  270.     on a floppy disk system or a very slow turkey hard disk, a larger value
  271.     may give better results.  Too large a value may exhaust memory, induce
  272.     receiver timeouts, cause disconnects(!), or generate spurious CRC errors.
  273.     If performance logging doesn't work, this parameter is too big.
  274.  
  275.     EXAMPLE: C>dsz pB4096 sz A:floppy.fil
  276.  
  277.     Setting the buffer size may lock out the performance log, DSZFILES, and/or
  278.     indirect pathname list in the "tiny model" DSZ flavor.
  279.  
  280.     IF YOU AREN'T BLOODY SURE YOU NEED A BIGGER BUFFER, DON'T USE ONE.
  281.  
  282.  
  283. O   This parameter controls XMODEM OverThruster(TM).
  284.  
  285.     CompuServe XMODEM Negative numbers control the number of bytes added
  286.     to the window on XMODEM downloads from the CompuServe Information
  287.     Service.  Larger numbers increase throughput, but cause improperly
  288.     interfaced MNP modems on CIS nodes to drop characters under stress,
  289.     disrupting the file transfer.
  290.     EXAMPLE: dsz pO-512 ro file1.ext
  291.  
  292.     Other XMODEM Positive numbers up to a system dependent value less than
  293.     the protocol block size increase throughput.  Larger values induce
  294.     timeouts and/or retransmitted blocks.  The optimum value must be
  295.     determined by experiment.  60 usually give best results with MNP
  296.     modems at 2400 bps.  The optimum value varies depending on the remote
  297.     computer, modem(s), system traffic, and the network node.
  298.     EXAMPLE: dsz pO60 ro file1.ext
  299.  
  300.  
  301. P   After a "speed" command, giving a p command (display parameters), the P
  302.     parameter value will indicate the type of serial I/O UART chip detected.
  303.     DSZ automatically detects and enables the FIFO buffer on the NS16550A and
  304.     Intel 82510 chips.
  305.  
  306.     EXAMPLE: dsz port 1 speed 19200 p
  307.  
  308.  
  309.     0  Indicates a standard 8250 or 16450 UART with no special features.
  310.  
  311.     1  Indicates an NS16550A with 16 deep receive buffering.  This is the
  312.        preferred chip.
  313.  
  314.     2  Indicates an Intel 82510 with 3 deep receive buffering.
  315.  
  316.     The sequence "port 1 pP1 speed 19200" bypasses DSZ's verification checks
  317.     normally performed on the FIFO configuration and may allow a defective
  318.     FIFO on certain chips to be used.  This incantation is not required for
  319.     the NS16550A.
  320.  
  321.  
  322. Q   Error code returned to DOS (default 1).  (Success always returns 0.) Some
  323.     programs toss cookies when confronted with certain exit codes.
  324.  
  325.     EXAMPLE: C>dsz pQ-1 sz foo.bar
  326.  
  327.     DSZ reports an error if no files have been transferred, even if the
  328.     command used wasn't supposed to transfer any file(s).
  329.  
  330. S   Timeout in seconds (default 15) waiting for restraint release (XON and/or
  331.     handshake).
  332.  
  333. W   Wait for Enter key before exiting after an error.  Effective only on
  334.     registered copies.  Useful when calling DSZ from DESQview, allows the
  335.     window to close unless there is an error message that should remain
  336.     visible.
  337.  
  338.     EXAMPLE: C>dsz pW1 sz foo.bar
  339.  
  340.  
  341. a   Calibrates certain protocol timeouts used with XMODEM and YMODEM transfers
  342.     (Cybernetic Data Recovery(TM)).  This parameter does not affect ZMODEM
  343.     transfers.
  344.  
  345.     The a numeric parameter is automatically set to 2000 for a 4.77 mHz PC or
  346.     XT, 4000 for a PS2/30, 6000 for an 8 mHz 1ws AT, and 12000 for a PS2/80.
  347.     If your computer has a speedup card or otherwise runs unusually fast (or
  348.     slow!) for its type, you may set the a numeric parameter to a value that
  349.     reflects its speed.
  350.  
  351.     EXAMPLE: dsz port 2 pa4000 rb
  352.  
  353.  
  354.     NOTE: Setting this parameter does not suppress the "Unknown Machine Type"
  355.     message which is displayed before the command line is scanned.
  356.  
  357. d   A non zero value (the default) causes incoming files received with ZMODEM
  358.     and full YMODEM transfers to have their Date set to that sent in the file
  359.     header.  ZMODEM's file management features depend on the transmission of
  360.     each file's modification date.  Files will have the same creation date,
  361.     even if the two machines are in different time zones.  When transferring
  362.     files to/from a Unix system, creation dates are interpreted according to
  363.     GMT or Universal Coordinated Time.  File dating may be disabled with a pd0
  364.     command.
  365.     NOTE: Backdating file creation times may confuse some backup programs.
  366.  
  367. v   Verbose level (debugging output) Negative values inhibit some routine
  368.     messages.  Setting v to 1 or greater causes serialized copies to ring the
  369.     bell when a transfer is done.
  370.  
  371. z   Timezone in minutes behind GMT, used for ZMODEM and True YMODEM file
  372.     transfers to coordinate the actual date of the file with computers in
  373.     other time zones.  Effective on registered copies.  PDT or MST corresponds
  374.     to 420.  This may be preset with the ZONE DOS environment variable.
  375.  
  376.  
  377.  
  378. ──────────────────────
  379. FILE TRANSFER COMMANDS:
  380. ──────────────────────
  381.  
  382.  
  383.                 DESCRIPTIONS OF PROTOCOLS SUPPORTED BY DSZ.COM
  384.  
  385.  
  386.         XMODEM The Ward Christensen file transfer protocol uses 128 byte
  387.             packets, one byte control messages, and a one byte arithmetic
  388.             checksum.
  389.  
  390.         XMODEM/CRC A synonym for the enhanced Ward Christensen XMODEM protocol
  391.             using a Cyclic Redundancy Check (CRC-16).  Newer programs support
  392.             CRC-16 for better data integrity, but reliability is still
  393.             compromized by one byte control messages.
  394.  
  395.         XMODEM-1k XMODEM protocol with 1024 byte data packets, CRC-16, and one
  396.             byte control messages, sometimes incorrectly called ymodem.
  397.  
  398.         YMODEM is a batch file transfer protocol with pathname, date,
  399.             file length and other file data in block 0, CRC-16 default, and
  400.             optional 1024 byte packets.  Many programs claiming to support
  401.             YMODEM actually use XMODEM with 1024 byte blocks; use ZCOMM's sx
  402.             -k and rx XMODEM commands with these mutants.
  403.         
  404.         ZMODEM An advanced public domain file transfer protocol with
  405.             simplified human interface, crash recovery, high speed streaming,
  406.             sensitive 32 bit CRC, command download, security features, and
  407.             important file management functions.
  408.             file transfers with traditional protocols.
  409.  
  410.  
  411.                                     
  412.  
  413.                                     ZMODEM
  414.  
  415.  
  416.          + ZMODEM data transfers are protected by the Federal Standard 32 bit
  417.            CRC to assure reliable transfers.  This 32 bit CRC gives an
  418.            undetected error rate five orders of magnitude better than XMODEM's
  419.            16 bit CRC, and more than a billion times better than checksum
  420.            XMODEM.  ZMODEM uses 16 bit CRC for file transfers with programs
  421.            that do not support 32 bit CRC.
  422.          + Most important, all ZMODEM protocol transactions are protected by
  423.            CRC.  Some competing protocols advertising 16 or 32 bit CRC fail
  424.            under stress because transactions use single characters not
  425.            protected by CRC.
  426.  
  427.         ZMODEM supports Crash Recovery and advanced file management.  If
  428.         you've ever been disconnected when a huge file transfer was almost
  429.         finished, you'll appreciate resuming/recovering the file transfer with
  430.         the ZMODEM r option.  You can use the n option to transfer only those
  431.         files that have changed since the last time they were transferred.
  432.         With the p option, you can unconditionally protect files that already
  433.         exist on the destination system.  To update only the files you already
  434.         have while skipping the rest, use the Yn option.
  435.  
  436.         To send a file with ZMODEM, the command sz file1 can be given from
  437.         either the main command prompt, or from a secondary command prompt
  438.         obtained with ALT-2.  Multiple files and wild cards may be used.
  439.  
  440.         EXAMPLE: sz file1 file2 *.lst
  441.  
  442.         If Z mode has been enabled (the default), ZCOMM's term function will
  443.         detect a ZMODEM transmission and receive the file(s) automatically,
  444.         after a security check.  Otherwise, the rz command may be given from a
  445.         command prompt.
  446.  
  447.         Please refer to the sz and zcommand commands for examples.
  448.  
  449.  
  450. ──────> NEW-NEW-NEW!!!  with the 1-22-90 edition of DSZ you get: 
  451.  
  452.                               MobyTurbo(Tm)
  453.  
  454.         MobyTurbo optimizes throughput on ZIP, ARC, and similar files over    
  455.         paths that support YMODEM-g (or would except for random errors).  
  456.         MobyTurbo cannot be used with most types of software flow control (or      
  457.         "handshake both").
  458.  
  459.         Activate MobyTurbo with the -m option to one or more of: sz, rz
  460.  
  461.         LOCK OUT MobyTurbo with the -M option.  -M is effective until the next 
  462.         "call" command. 
  463.  
  464.  
  465.  
  466.                                   TRUE YMODEM
  467.  
  468.         Developed in 1981, YMODEM extensions to XMODEM are finding their way
  469.         into many communications programs.  Rb and sb programs are available
  470.         for Unix and VAX/VMS.  With Omen's Enhanced Data Recovery(TM), YMODEM
  471.         gives excellent efficiency, integrity, and good robustness.
  472.  
  473.         True YMODEM transfers one or more files in a batch without alteration
  474.         or added garbage characters.  True YMODEM preserves the file date
  475.         across multiple time zones.  ZCOMM and the Unix(TM) rb and sb programs
  476.         and ZCOMM preserve the file modification date.[2]
  477.  
  478.         The sb k option (1024 byte blocks) may be used to enhance throughput,
  479.         especially when using timesharing systems, satellite links, or packet
  480.         networks that can support the longer blocks.
  481.  
  482.         EXAMPLE: sb -k *.c *.h sends all .c and .h files in the current
  483.         directory with 1024 byte blocks.[3]
  484.  
  485.         YMODEM Batch files can be received with the rb or F3 commands.
  486.  
  487.         YMODEM Batch file transfers with Unix and VMS systems are discussed
  488.         later in this chapter.  Many programs claiming to support YMODEM
  489.         actually use XMODEM with 1024 byte blocks; use ZCOMM's sx -k and rx
  490.         XMODEM commands with these imposters.
  491.  
  492.  
  493.  
  494.                                    XMODEM-1k
  495.  
  496.         The XMODEM-1k protocol transfers one file per command with 1024 byte
  497.         blocks and a nominal 16 bit CRC.  The file name must be entered for
  498.         both the sender and the receiver.  Programs lacking ZCOMM's Cybernetic
  499.         Data Recovery(TM) logic are less likely to transfer data accurately
  500.         under marginal conditions.  XMODEM's use of every possible 8 bit code
  501.         limit its effectiveness in many applications.
  502.  
  503.         The end of the file may be padded by up to 127 or 1023[4] garbage
  504.         characters.
  505.  
  506.         To send a file: sx -k file1
  507.  
  508.          2. Controlled by the d and z numeric parameters
  509.  
  510.          3. ZCOMM switches to 128 byte blocks at the end of a file when the
  511.             length warrants.
  512.  
  513.          4. Some programs (including ZCOMM) limit this padding to 127 bytes.
  514.  
  515.         To receive a file: rc file1
  516.  
  517.  
  518.  
  519.                                    XMODEM/CRC
  520.  
  521.         The XMODEM/CRC protocol transfers one file per command.  The file name
  522.         must be entered for both the sender and the receiver.  Programs
  523.         lacking ZCOMM's Cybernetic Data Recovery(TM) logic are less likely to
  524.         transfer data under marginal conditions.  XMODEM-CRC's short data
  525.         blocks and use of every possible 8 bit code limit its effectiveness in
  526.         many applications.
  527.  
  528.         The end of the file may be padded by up to 127 garbage characters.
  529.  
  530.         To send a file: sx file1
  531.  
  532.         To receive a file: rc file1
  533.  
  534.  
  535.  
  536.                                      XMODEM
  537.  
  538.         The original MODEM protocol, developed by Ward Christensen, is
  539.         supported by a large and growing number of programs operating on a
  540.         variety of micros and minis.  The base level XMODEM protocol gives
  541.         good results when used over low error rate direct telephone
  542.         connections.  XMODEM's short data blocks and use of every possible 8
  543.         bit code limit its effectiveness in many applications.
  544.  
  545.         File transfers with this protocol add up to 127 garbage characters to
  546.         transferred files.  The XMODEM protocol can transfer one file per
  547.         command.  The file name must be entered at both the sender and the
  548.         receiver.
  549.  
  550.         To send a file with plain XMODEM: sx file1
  551.  
  552.         To receive a file with XMODEM: rx file1
  553.  
  554.  
  555.  
  556.                             XMODEM with OverThruster
  557.  
  558.         XMODEM file downloading from networks and timesharing systems is
  559.         slowed by short blocks and long response times.  With some systems,
  560.         one can speed up downloads by using the ro command to receive the
  561.         file.  Because OverThruster defeats error recovery, a line hit will
  562.         usually abort a download.  With nearly error free connections, one can
  563.         save enough time from the increased throughput to make up for failed
  564.         transfers.  OverThruster may be used with X.PC or MNP error correcting
  565.         link level protocols.
  566.  
  567.         EXAMPLE: ro file1
  568.  
  569.  
  570.                               Clink/SEAlink Batch
  571.  
  572.         When transferring files with the SEA CLINK 1.13 or compatible
  573.         programs, DSZ's rb and sb commands recognize SEAlink's modified
  574.         Telink protocol.  The rb command allows a transmitting SEAlink program
  575.         to use sliding windows.  Telink time zone and file name considerations
  576.         apply to SEAlink.  In addition, because SEAlink uses all 256 of the
  577.         possible 8 bit codes for both data transfer and protocol management,
  578.         some modems and networks that operate with XMODEM will not accomodate
  579.         SEAlink.  As with the MODEM7 and Clink protocols mentioned above, the
  580.         SEAlink protocol is included for convenience in situations where the
  581.         YMODEM and ZMODEM protocols are not implemented.
  582.  
  583.         EXAMPLE: zmodem pZ120;  sb file1.ext *.baz Sends the specified files
  584.         to a SEAlink program with a 2 hour time zone adjustment.
  585.  
  586.         EXAMPLE: rb -z60 Receives one or more files from a SEAlink program
  587.         with a 60 minute time zone adjustment.
  588.  
  589.  
  590. ────────────────────────────────────────────────
  591. ADDITIONAL DESCRIPTIONS OF FILE TRANSFER COMMANDS:
  592. ────────────────────────────────────────────────
  593.  
  594.         rb [-options]   Receives with options 1 or more files using YMODEM 
  595.           batch protocol.  The rb command also receives files sent with
  596.           Clink/SEAlink protocol.  
  597.  
  598.           The pathname and length of each file are transmitted in batch mode.
  599.           If a file is received in error (retries exhausted, etc.), the batch 
  600.           transfer will terminate.  If privileges are restricted, a file
  601.           received in error will be unlinked (erased).
  602.  
  603.           EXAMPLE: rb -y
  604.  
  605.           Many programs claiming to support YMODEM actually use XMODEM with
  606.           1024 byte blocks; use ZCOMM's sx -k and rx XMODEM commands with
  607.           these imposters.
  608.  
  609.           SEE ALSO: YMODEM Batch protocol, Chapter 11.
  610.  
  611.  
  612.         rb [-options] [dir] [file ...]   Receives with options 1 or more files
  613.           using YMODEM batch protocol.  An optional disk and/or directory dir
  614.           may be specified.  The optional supplied pathnames file ...  are
  615.           used in place of pathnames normally provided by the sending program.
  616.           If the sending program attempts to send more files than the number
  617.           of names supplied to the rb command, the transfer is aborted.
  618.  
  619.  
  620.         rc [-options] file   Receives with options a single file using the 
  621.           Christensen XMODEM protocol, 128 or 1024 byte blocks, and CRC-16
  622.           instead of an 8 bit checksum.  ZCOMM signals the sending program
  623.           that CRC-16 is to be used.  After four errors while attempting to
  624.           receive the first sector, ZCOMM will cancel the CRC-16 option and
  625.           reverts to checksum operation.
  626.  
  627.           The probability of an undetected transmission error is much less if
  628.           CRC-16 is used in place of the default 8 bit arithmetic checksum.
  629.           Omen Technology Inc Recommends use of the 16 bit CRC to maintain
  630.           data integrity at professional levels.
  631.           CRC-16 is not the default because most IBM bulletin boards and
  632.           commercial modem programs only support the 8 bit checksum.  Chapter
  633.           17 describes the available options to the rc command.  If privileges
  634.           are restricted, a file received in error will be deleted.
  635.  
  636.  
  637.         ro [-options] file   Receives with options a single file using non-
  638.           standard XMODEM-CRC protocol logic.  OverThruster(TM) speeds file
  639.           downloads at the expense of error recovery.  OverThruster operation
  640.           is controlled by the O numeric parameter (q.v.).  As fans of
  641.           Buckaroo Bonzai know, the OverThruster is not universally
  642.           applicable.  A transmission error will almost always terminate an
  643.           OverThruster file download.
  644.  
  645.           If Restricted, a file received in error will be unlinked (erased).
  646.  
  647.           EXAMPLE: ro foo.com
  648.  
  649.           SEE ALSO: O numeric parameter
  650.  
  651.  
  652.         rx [-options] file   Receives with options a single file using the 
  653.           Christensen XMODEM protocol.  Chapter 17 describes the available
  654.           options.  If restricted, a file received in error will be unlinked
  655.           (erased).
  656.  
  657.           EXAMPLE: rx foo.com
  658.  
  659.  
  660.         rz [-options]   Receives with options 1 or more files using ZMODEM 
  661.           protocol.  Each file's pathname is obtained from the sending 
  662.           program.  The +, a, b, n, N, r, and y options are accepted from the 
  663.           sending program, subject to restriced privileges.  If the +, b, n, 
  664.           N, r, or y option is specified to the receiver, it overrides any 
  665.           contrary options specified to the sender.  
  666.           
  667.           Only one of the a, b, or r options may be specified.
  668.           Only one of the +, n, N, or y options may be specified.
  669.           If a file is received in error (retries exhausted, etc.), the batch
  670.           transfer will terminate.  If privileges are restricted, a file
  671.           received in error will be unlinked (erased).
  672.  
  673.           EXAMPLE: rz -y
  674.  
  675.  
  676.         rz [-options] [dir] [file ...]  Receives with options 1 or more files
  677.           using YMODEM batch protocol.  An optional disk and/or directory dir
  678.           may be specified.  The optional supplied pathnames file ...  are
  679.           used in place of pathnames normally provided by the sending program.
  680.           If the sending program attempts to send more files than the number
  681.           of names supplied to the rz command, the transfer is aborted.  To
  682.           allow use of the rz command, Z mode (ZMODEM autodownload) should be
  683.           turned off with a dis -Z command.
  684.  
  685.  
  686.        sb [-options] pathspec   Send the files specified in pathspec using the
  687.           YMODEM Batch Protocol. The pathname, length, and modification
  688.           time of each file are transmitted.  Files which cannot be opened are
  689.           skipped.  An empty pathspec sends all files in the current
  690.           directory.  A directory name expands to all regular files in that
  691.           directory.
  692.  
  693.           If an error aborts a file transmission (retries exhausted, etc.),
  694.           batch transfers terminate.  The sb command will send files with
  695.           Clink/SEAlink protocol if the receiving program requests Clink.
  696.  
  697.           EXAMPLE: sb -k *.com   sends *.com using 1024 byte packets.
  698.  
  699.           NOTE The receiver must be commanded to receive the files with an rb
  700.           or rz command.
  701.  
  702.  
  703.         sx [-options] file   Send a single file using the Ward Christensen
  704.           XMODEM or XMODEM/CRC protocol.  The receiving program may request
  705.           use of a 16 bit CRC, which is more accurate than the default
  706.           checksum.  DOS files sent this way will have Control-Z (CPMEOF)
  707.           garbage characters appended to make the file length a multiple of
  708.           the packet size.
  709.  
  710.           EXAMPLE: sx foo.com
  711.           EXAMPLE: sx -k foo.com (1024 byte blocks)
  712.  
  713.           NOTE: The receiver must be commanded to receive the file with an rx
  714.           filename or rc filename command.
  715.  
  716.         sz [-options] [PREFIX=p | ONAME=x] pathspec   Send the files specified
  717.           in pathspec using ZMODEM Batch Protocol.  The +, a, b, n, N, r, and
  718.           y options are sent to the receiving program.  Only one of the a, b,
  719.           or r options may be specified.  Only one of the +, n, N, or y
  720.           options may be specified.  The pathname, length, and modification
  721.           time of each file are transmitted.  Files which cannot be opened are
  722.           skipped.  An empty pathspec sends all files in the current
  723.           directory.  A directory name expands to all regular files in that
  724.           directory.
  725.  
  726.           If ONAME=x is given after the options (if any) and before the file
  727.           name(s), x will be used as the COMPLETE destination pathname instead
  728.           of each file's actual pathname.
  729.  
  730.  
  731. Examples:
  732.          
  733.           EXAMPLE: sz -y ONAME=B:/spiked/secret /soviet/sdi/newlaser.doc
  734.           results in the destination file secret on drive B: in the /spiked
  735.           directory.  (Destination directories must exist and be writable).
  736.  
  737.           If instead PREFIX=p is given after the options (if any) and before
  738.           the file name(s), p will bew added to the destination pathname(s) as
  739.           a prefix.
  740.  
  741.           EXAMPLE: sz -y PREFIX=C:/FOO.BAZ/ /biff/bam/aardvark.wak
  742.           results in the destination file "C:/FOO.BAZ/aardvark.wak" (the
  743.           destination directories must exist and be writable).
  744.  
  745.  
  746.           EXAMPLE: sz *.com   Sends all files with a .com extension.
  747.  
  748.           EXAMPLE: sz -r ??log   Crash Recovery sends only the new data if the
  749.           receiver has incomplete versions of these files.
  750.  
  751.           EXAMPLE: sz -fn src/*.c src/*.h maildir
  752.           sends only the newer source files in the src subdirectory, and all
  753.           new files in the maildir subdirectory.
  754.  
  755.           EXAMPLE: zcommand "sz -fn /bin /wp"
  756.           commands a remote ZCOMM system in Host Operation (unrestricted) to
  757.           send all new files in the /bin and /wp directories.
  758.  
  759.           EXAMPLE: sz -Yn *.c   sends only newer versions of files that
  760.           already exist at the destination.
  761.  
  762.         szb [-options] [PREFIX=p | ONAME=x] pathspec As above, but "falls
  763.           back" to YMODEM if the receiver cannot receive with ZMODEM protocol.
  764.  
  765.  
  766.  
  767. ──────────────────────────────────
  768. EXAMPLES OF FILE TRANSFER COMMANDS:
  769. ──────────────────────────────────
  770.  
  771. RECEIVE (DOWNLOAD) COMMANDS:
  772. ---------------------------
  773.  
  774. ┌─ Transfer Command   ┌──── Transfer Options
  775. │                     │
  776.  
  777. rz     [-abeEmMnpPrt+YZy] [dir] [file ...]     (ZMODEM-90 receive) 
  778.  
  779. rz     [-abenprt+Yy] [dir] [file ...]          (ZMODEM receive) 
  780.  
  781. rb     [-abt+y] [dir] [file ...]               (YMODEM receive) 
  782.  
  783. rb -g  [-abt+y] [dir] [file ...]               (YMODEM-g receive) 
  784.  
  785. rc     [-abt+y] file1                          (XMODEM/CRC receive)
  786.  
  787. ro     [-abt+y] file1                          (XMODEM OverThruster receive)
  788.  
  789. rx     [-abt+y] file1                          (XMODEM receive)
  790.  
  791. rx -g  [-abt+y] file1                          (Qmodem-G receive) 
  792.  
  793.    
  794.   **** Download directory specification and -g ignored w/o registration****
  795.  
  796.  
  797. TRANSMIT (UPLOAD) COMMANDS:
  798. --------------------------
  799.  
  800. sz   [-abefnprtFYQS+yZ]     [-w[N]]  [PREFIX=p | ONAME=n] file   (ZMODEM send)
  801.  
  802. sz   [-abeEfmMnpPrtFYQS+yZ] [-w[N]]  [PREFIX=p | ONAME=n] file   (ZMODEM-90)
  803.  
  804.  
  805.       Pathnames are separated by spaces.  Wildcards are OK.
  806.  
  807.  
  808. sb      [-ft] [PREFIX=p | ONAME=n] file     (YMODEM or YMODEM-g send)
  809.  
  810. sb -k   [-ft] [PREFIX=p | ONAME=n] file     (YMODEM-1k or YMODEM-g send)
  811.  
  812. sx      [-t] file1                          (XMODEM, XMODEM/CRC,Qmodem-G send)
  813.  
  814. sx -k   [-t] file1                          (XMODEM-1k send)
  815.  
  816.  
  817.  
  818. Send files may be specified indirectly:
  819.  
  820.                              dsz sz @C:files.lst
  821.  
  822. sends the files in C:files.lst.  This provides another means of bypassing the
  823. DOS command line limit.  The first letter must be "@" and the third letter
  824. must be ":" to distinguish this from an ordinary pathname.  Pathnames in the
  825. indirection file may be separated by any combination of space(s), tab(s), CR
  826. and/or LF.  No spaces may appear inside a pathname; "FOO     .BAR" won't work.
  827.  
  828.  
  829.  
  830.  
  831. ─────────────────────
  832. FILE TRANSFER OPTIONS:
  833. ─────────────────────
  834.  
  835.     Options modify the way the protocol file transfer commands send and
  836.     receive files.  They are reset before each command line.
  837.  
  838.     The a and b options are mutually exclusive.  With ZMODEM, a b option
  839.     given to the sender or receiver will override any a option.
  840.  
  841.     The +, r, N, n, p, and y options are mutually exclusive.  The Y option
  842.     may be followed by the +, r, n, or N option.  Specifiying these
  843.     options to the receiver overrides the ZMODEM sender's specification of
  844.     these options.
  845.  
  846.  
  847.  +  When receiving to a file already on disk, append the new data to
  848.     the old file (if one exists).  This option is not allowed if DSZ.COM
  849.     is Restricted.
  850.  
  851.     When sending files with ZMODEM, the + option commands the receiver
  852.     to append to a file already on the receiver's disk.
  853.  
  854.     EXAMPLE: sz -+ ONAME=master.log *.log sends all .log files in the
  855.     current directory to be appended to master.log on the receiver's
  856.     computer.
  857.  
  858.  
  859.  a  (ASCII) The a option applies to files received with XMODEM, YMODEM,
  860.     or ZMODEM protocol.  It converts newlines not preceded by CR to
  861.     CR/LF pairs.  NULL, RUBOUT, and all characters in each packet
  862.     beginning with Ctrl-Z are excluded.  The a option is useful when
  863.     receiving text files without carriage returns directly from Unix
  864.     systems.
  865.  
  866.     When sending with ZMODEM, the a option instructs the receiver to
  867.     convert text files to the conventions used in its operating
  868.     environment.
  869.  
  870.     The a option does not apply to Kermit.  Files transferred with the
  871.     a option cannot be processed with the ZMODEM r (recover/resume)
  872.     option.
  873.  
  874.     EXAMPLE: rc -a program.c receives program.c and converts end of
  875.     lines to CR/LF.
  876.  
  877.  
  878.  b  (Binary) With ZMODEM, inhibits the receiver from translating the
  879.     file contents.  If either the ZMODEM sender or receiver specifies b
  880.     option, any contrary requests will be ignored.
  881.  
  882.     EXAMPLE: sz -b program.exe
  883.  
  884.  
  885.  e  Normally, ZMODEM senders escape XON, XOFF, Ctrl-P, CR-@-CR, and
  886.     Ctrl-X, and ZMODEM receivers ignore XON and XOFF.  The e option
  887.     escape all control characters when sending files with the ZMODEM
  888.     protocol. 
  889.  
  890.     SEE ALSO: zmtxesc, zmrxesc string parameters
  891.  
  892.  
  893.  E  With ZMODEM-90, force 8th bit encoding even if the transmission
  894.     medium appears to support 8 bits.[2]
  895.  
  896.  
  897.  f  Send the full pathname as specified (exclusive of disk identifier)
  898.     when using a batch send command.  Normally only the file name
  899.     portion (without any directory prefix) is transmitted.  The f
  900.     option applies to batch file transmission with the kermit sb, sb,
  901.     send, and sz commands.
  902.  
  903.     EXAMPLE: cd /src; sz -f robot/r2d2.h sends the file with the
  904.     pathname robot/r2d2.h.
  905.  
  906.     EXAMPLE: sz -f /src/robot/vox/3tpi0.*
  907.  
  908.     SEE ALSO: PREFIX=p flag for the sb and sz commands.
  909.  
  910.  
  911.  F  Insert a pause after each transmitted data subpacket transmitted
  912.     with ZMODEM.  This is useful in certain situations when
  913.     conventional flow control methods are unavailable, ineffective, or
  914.     unreasonably slow (i.e., "broken").  The length of pause is set by
  915.     the zmodem F numeric parameter.
  916.  
  917.     EXAMPLE: sz -F honker.dat
  918.  
  919.     SEE ALSO: zmodem F numeric parameter
  920.  
  921.  
  922.  g  Given to the receiving program, the g option to the rb command
  923.     allows the sender and receiver to dispense with acknowledging each
  924.     transmitted packet when using YMODEM batch transfers.  YMODEM-g
  925.     increases throughput when the transmitting medium itself (direct
  926.     connection, X.PC session, or error correcting modems) provides
  927.     error free transmission.  The transmitting medium can use XOFF and
  928.     XON to enforce flow control.
  929.  
  930.     If the transmitting medium does not enforce flow control,[3] the
  931.     user must insure the receiver is not overrun.  ZCOMM on a PC or XT
  932.     accepts data at 9600 bps without flow control when the file is
  933.     being written to a hard disk or ramdisk, provided no memory resident    
  934.     programs or special drivers hog CPU cycles.
  935.  
  936.     If an error is detected when the g option is used, the transfer is
  937.     aborted.
  938.  
  939.     EXAMPLE: rb -g
  940.  
  941.     The g option may also be used with the rx command to receive files
  942.     from Qmodem's G protocol.
  943.  
  944.  
  945.  k  Use 1024 byte (1K) packets with the sb and sx commands.  The
  946.     default packet length is 128.  This increases throughput when the
  947.     speed is high relative to the response times of the communications
  948.     channel and the computers.  The k option is useful with 9600 or
  949.     19200 bps transfers with directly connected timesharing systems.
  950.     The k option may not work properly uploading to some systems,
  951.     particularly heavily loaded or poorly implemented timesharing
  952.     systems at high speeds.  The k option is valid only when sending to
  953.     ZCOMM, Unix rb, or other compatible programs.  If the file length
  954.     is not a multiple of 1024, the remainder of the file will be sent
  955.     with 128 byte blocks.  This option does not affect Kermit
  956.     transfers.
  957.  
  958.     EXAMPLE: sb -k *.c *.h
  959.  
  960.     With the sz command, the k option forces an initial 1024 byte
  961.     subpacket length.
  962.  
  963.  
  964.  m  (ZMODEM-90) Activate Moby Turbo(TM) for maximum throughput on
  965.     compressed files sent over completely transparent connections.
  966.     Moby Turbo can not be used with software flow control or over
  967.     networks that reserve control characters.
  968.  
  969.  
  970.  M  Lock out Moby Turbo even if the other program has given the m
  971.     option.  This is useful if the transmission path does not support
  972.     complete transparency.
  973.  
  974.  
  975.  n  (ZMODEM) Each file is transferred if the corresponding destination
  976.     file does not exist, or if the source file is newer.  The n option
  977.     can be given with either the sz or rz commands.  This option is not
  978.     allowed if the receiver is Restricted.
  979.  
  980.     EXAMPLE: sz -n *.* attempts to send all files in the current
  981.     directory.  Only those files that do not exist in the destination
  982.     directory, and those for which the source is newer will be sent.
  983.  
  984.  
  985.  N  (ZMODEM) Transfer the file if the corresponding destination file
  986.     does not exist, or if the source file is newer or longer.  The N
  987.     option be used with the sz and rz commands.  This option is not
  988.     allowed if the receiver is Restricted.
  989.  
  990.     EXAMPLE: sz -N *.*
  991.  
  992.  
  993.  p  (ZMODEM) Protect destination file; bypass this file if it already
  994.     exists on the destination system.
  995.  
  996.  
  997.  P  (ZMODEM-90) When transferring files over 7 bit paths, pack 4 8-bit
  998.     bytes into 5 7-bit bytes for transmission instead of quoting the
  999.     8th bit. This increases transmission speed on compressed files.
  1000.  
  1001.  
  1002.  q  (Quiet) suppresses block by block status line update during Kermit
  1003.     and X/YMODEM file transfers.
  1004.  
  1005.  
  1006.  r  (ZMODEM) Resume/Recover an interrupted file transfer with the
  1007.     ZMODEM protocol.  May be given with either the sz or rz commands.
  1008.  
  1009.     The r option may be used to resume the transmission of a long file
  1010.     after a disconnect or power loss, without having to start over at
  1011.     the beginning of the file.  The r option may also be used when the
  1012.     source file grows from time to time and only the incremental
  1013.     portion needs to be sent.  The r option assumes that the contents
  1014.     of the destination file are identical to the corresponding
  1015.     beginning portion of the source file.  The r option should not be
  1016.     applied to a file that has been modified by the a option, or to a
  1017.     file that has been edited on the destination system.  This option
  1018.     is not allowed if the receiver is Restricted.
  1019.  
  1020.     EXAMPLE: sz -r hugefile.lst
  1021.  
  1022.  
  1023. rrr  As above, but the files are compared by taking a 32 bit CRC on the
  1024.      contents before deciding on whether to start a fresh transfer.
  1025.  
  1026.      EXAMPLE: sz -rr maybenewer.lst
  1027.  
  1028.  
  1029.     With the -rr option, all of the files are compared or transmitted
  1030.     by default.  The number of bytes used in the comparision may be
  1031.     restricted by setting the zmodem R numeric parameter to a number
  1032.     between 2048 and 32000 (1 billion on 32 bit flavors).
  1033.  
  1034.     EXAMPLE: zmodem pR20000
  1035.  
  1036.  
  1037.  s  SlugBait modifies the logic of ZMODEM sending to detect and report
  1038.     attempts at evading accountability for receiving files.  Such
  1039.     attempts are flagged with a Q status in the log of sent files.
  1040.     SnailBait adds a slight delay to file transmission, and a transfer
  1041.     that is cut off at the very end of file may very infrequently be
  1042.     reported with Questionable instead of ERROR status.
  1043.  
  1044.  
  1045.  S  When sending file(s) with ZMODEM, interrogate the receiving prgram
  1046.     for its serial number.  S option terminates when a serial number is
  1047.     received or when the call command is given.  Receiving file(s) with
  1048.     YMODEM or ZMODEM from programs providing a serial number also
  1049.     provides the other program's serial number.  The serial number
  1050.     received is listed by the performance log.
  1051.  
  1052.  
  1053.  t  Enter the term function after file transfer(s) complete.  The t
  1054.     option should not be used in commands given from within the term
  1055.     function, either directly or with soft key definitions.
  1056.  
  1057.  
  1058.  u  Unlink (remove, delete) the file after it has been sent with the sz
  1059.     command.
  1060.  
  1061.  
  1062.  v  View the data being transmitted or received.  Only correct data is
  1063.     displayed.  Viewing standard ASCII files does not interfere with
  1064.     correct transmission at high speeds, although throughput may be
  1065.     degraded.
  1066.  
  1067.     The output may be redirected to a capture file or DOS device with
  1068.     the > or >> command.  Unless output is redirected, this option must
  1069.     not be used when ZCOMM is in Host Operation.
  1070.  
  1071.  
  1072. NwN   Use a window size of N bytes with the sz command, overriding the
  1073.       zmodem w numeric parameter.  If N is missing, use a ZMODEM window
  1074.       size of 4096 bytes.
  1075.  
  1076.       SEE ALSO: Flow Control Chapter 13, zmodem w numeric parameter
  1077.  
  1078.  
  1079. NWN   Request the sending program to use a window size of N bytes,
  1080.       overriding the sender's window size setting, 4096 bytes if N is
  1081.       missing.
  1082.  
  1083.  
  1084.  y  Yes it is OK to replace a file already on disk when receiving a
  1085.     file.  If absent, the operator is given a choice of appending to
  1086.     the current file (a), erasing it (y) or aborting (n).  This option
  1087.     is not allowed if ZCOMM is Restricted.  When sending with ZMODEM,
  1088.     commands the receiver to replace a file on its disk.
  1089.  
  1090.  
  1091.  Y  (ZMODEM) Transfer only those files for which a file with the same
  1092.     pathname exists at the destination, overwriting the destination
  1093.     files.  The Y option may be followed by other ZMODEM options to
  1094.     further qualify the selection of files to transfer.  This option is
  1095.     not allowed if ZCOMM is Restricted.
  1096.  
  1097.     EXAMPLE: sz -Yn *.* If the source directory contains files A, B,
  1098.     and C, each dated today, and the destination directory contains B
  1099.  
  1100.  
  1101. TzT  Use T minutes behind GMT (Greenwich Mean Time) as the local
  1102.      timezone instead of the z parameter value for the file(s)
  1103.      transferred with this command.
  1104.  
  1105.      EXAMPLE: sb -k -z300 ESTfile sends ESTfile corrected for creation
  1106.      in Eastern Standard Time.
  1107.  
  1108.  
  1109.  Z  Transmit files with compression.  The ZMODEM receiver must indicate
  1110.     its ability to decompress received files for this option to take
  1111.     effect.
  1112.  
  1113.     When sending between Unix systems, files are compressed with 12 bit
  1114.     Lempel-Ziv compression.  Otherwise, packets are transmitted with
  1115.     Run Length Encoding.
  1116.  
  1117.     Over slow channels, compression increases the transmission speed of
  1118.     compiler listings, screen dumps, etc. by up to 50 per cent.  LZW
  1119.     compression is more effective on more types of data than RLE
  1120.     compression.  Some files, including the Personal Computing Magazine
  1121.     ASCII Test File, speed up by more than an order of magnitude with
  1122.     either RLE or LZW compression.  Heavily encrypted data and
  1123.     compressed files, including ARC and ZOO archives, do not benefit
  1124.     from ZMODEM compression.
  1125.  
  1126.     The situation with fast compressed modems is more complex.  The
  1127.     benefits of ZMODEM compression will depend on the particular
  1128.     application; try the transfers with and without ZMODEM compression
  1129.     to determine the most efficient options.
  1130.  
  1131.  
  1132.  
  1133. ─────────────────────────────────────────────────────
  1134. EXAMPLES OF FILE TRANSFER COMMANDS & SETUP PARAMETERS:
  1135. ─────────────────────────────────────────────────────
  1136.  
  1137. dsz sz c:foo.arc              (send 1 file with ZMODEM)
  1138.  
  1139. dsz sz -m c:*.zip             (send all .ZIP files with MobyTurbo)
  1140.  
  1141. dsz sz f1.c f2.c f3.c         (send 3 files with ZMODEM)
  1142.  
  1143. dsz sz c:foo.* b:*.c          (send multiple files with ZMODEM)
  1144.  
  1145. dsz sz -Z *.lst               (send text files with compression)
  1146.  
  1147. dsz sz -r bigone.arc          (CRASH RECOVERY: resume interrupted transfer)
  1148.  
  1149. dsz rz -r                     (CRASH RECOVERY: resume interrupted transfer)
  1150.  
  1151. dsz rz -rr                    (CRASH RECOVERY with file comparison)
  1152.  
  1153. dsz handshake both sz yzmodem.arc       (Hardware+Software handshake)
  1154.  
  1155. dsz sz -n *.*                 (send files that are newer or rx has no copy)
  1156.  
  1157. dsz sz -Yn *.*                (Only send files that are newer than receiver's
  1158.                                copy)
  1159.                               (Do not send files that do not exist on
  1160.                                receiver's disk)
  1161.  
  1162. dsz rz C:/UPLOADS             (receive files to specified directory #)
  1163.  
  1164. dsz port 2 speed 38400 handshake both restrict rz
  1165.                               (Restrict provides protection for BBS's)
  1166.  
  1167. dsz rz  -y prog.arc           (ZMODEM, single file pathname override)
  1168.  
  1169. dsz z pr1 rx foo.dat          (XMODEM receive, remove file if error)
  1170.  
  1171. dsz pO60 ro foo.dat           (XMODEM/OverThruster receive, GEnie MNP #)
  1172.  
  1173. DSZ LRC L-Y NEWPROG.ARC       (generate lower case "rc -y" command)
  1174.  
  1175. dsz sz foo >debug.dmp         (Debugging data dump)
  1176.  
  1177. dsz sz @C:/bbs/files.lst      (Indirect file list)
  1178.  
  1179.  
  1180.  
  1181. ──────────────────
  1182. Dsz Interrupt Keys:
  1183. ──────────────────
  1184.  
  1185. Ctrl-Break   Terminates the transfer in progress.
  1186. ALT-N        Abruptly terminates (NUKES) the transfer in progress.
  1187. Ctrl-X       Typing a dozen Ctrl-X characters to another ZMODEM program
  1188.              terminates ZMODEM operations.
  1189. ALT-F        Skips the current file in ZMODEM transfers.
  1190. ALT-B        Cancels the current ZMODEM session.
  1191.  
  1192.  
  1193.  
  1194. ─────────────────────
  1195. ENVIRONMENT VARIABLES:
  1196. ─────────────────────
  1197.  
  1198. The following DOS environment variables may be set to modify DSZ operation.
  1199. DOS environment variables are set by giving a command to DOS.
  1200.  
  1201. EXAMPLE: set DSZPORT=2
  1202.  
  1203. These DOS "set" commands may be placed in your AUTOEXEC.BAT file or given just
  1204. before you run your communications program.
  1205.  
  1206.  
  1207. DIRRX  (Registered copies only.) Specifies the directory to receive (download)
  1208.     files.  If the sting in DIRRX ends with "/", directory and/or disk
  1209.     designators in the incoming pathname are stripped, and only the stem (name
  1210.     and extension) is used.  Otherwise, if an incoming file has an absolute
  1211.     pathname, the incoming pathname is used.
  1212.  
  1213.     EXAMPLE: set DIRRX=C:/rxdir/
  1214.     dsz rz -r
  1215.  
  1216.     EXAMPLE: set DIRRX=B:/
  1217.  
  1218.     The DOS "set" command defining the receive directory may be placed in your
  1219.     AUTOEXEC.BAT file.  Make certain there is enough environment space to hold
  1220.     this value.  Confirm this by typing "set" to the DOS prompt and verifying
  1221.     the DIRRX value is listed correctly.
  1222.  
  1223.  
  1224. DSZFILES  May contain a list of up to 9999 pathnames to transmit, with entries
  1225.     separated by spaces.  If present, DSZFILES is used in place of a normal
  1226.     command line list of files to send with the sb and sz commands.
  1227.  
  1228.     EXAMPLE: C>set DSZFILES=file1 file2 file3 *.c
  1229.     C>dsz port 2 handshake on sz -rr
  1230.  
  1231.    In practice, this string would be built up by a calling program and passed
  1232.     to DSZ with a "spawnvpe", "execvpe", or similar subroutine call.
  1233.  
  1234.     SEE ALSO: Pathname list specification @C:files.lst
  1235.  
  1236.  
  1237. DSZLOG   log file to receive entries for files sent and received.  (Default
  1238.     null).  Sample entries:
  1239.  
  1240. Z  46532 38400 bps 3324 cps   0 errors    66 1024 DSZ.COM 1177
  1241. Z 124087 19200 bps 1880 cps   0 errors     6 1024 MXY.TMP 1177
  1242.  
  1243.     Transfer times are based on the DOS time of day clock and have up to two
  1244.     seconds' uncertainty.  As with all protocol throughput reports generated
  1245.     by Omen Technology programs (and contrary to the false claims of some
  1246.     critics), DSZ's throughput figures for ZMODEM, Kermit, and True YMODEM(TM)
  1247.     transfers do not take "credit" for pathname and/or protocol overhead
  1248.     characters.  DSZ's throughput reports do not include the time required to
  1249.     send the pathname.  This understates the true time required to transfer
  1250.     files, but the time required to send the pathname often depends on the
  1251.     alacrity of the operator, and thus does not always reflect the performance
  1252.     of the protocol itself.
  1253.  
  1254.     Transfers measuring less than one second are reported as having 9999
  1255.     characters per second throughput.
  1256.  
  1257.     The unlabeled numeric field after the error (retry) count is the number of
  1258.     flow control stoppages encountered sending the file.  This number gives an
  1259.     indication of flow control restrictions (overloaded networks, etc.)
  1260.     encountered during the transfer.
  1261.  
  1262.     The last numeric field before the file name is the YMODEM block size or
  1263.     ZMODEM subpacket length used for the last block in the file.
  1264.  
  1265.     The last field is the serial number of the other program, or -1 if this
  1266.     information is not available.
  1267.  
  1268.     The code letter indicates the type of transfer, Z (ZMODEM), S (X/YMODEM),
  1269.     R (X/YMODEM), E (error), or L (transfer terminated by loss of data
  1270.     carrier).
  1271.  
  1272.     WARNING: If DSZ encounters a loss of carrier or other fatal error
  1273.     condition before a file COMMENCES transmission, a log entry may not be
  1274.     made.
  1275.  
  1276.  
  1277. DSZOPT
  1278.     (Registered copies only) String containing default options for DSZ file
  1279.     transfers.  Options are optional modifiers to the DSZ sz, rz, sx, rx, sb,
  1280.     rb commands.
  1281.  
  1282.     A T may be appended to the string to force DSZ to exit after it has
  1283.     recognized a ZMODEM AutoDownload(Tm) request.
  1284.  
  1285.     An 8g may be appended to the string to make BBS (ANSI) graphics the
  1286.     default for DSZ's t command.  The ability to preset these options is
  1287.     especially helpful for controlling ZMODEM automatic downloads from DSZ's t
  1288.     command.
  1289.  
  1290.     EXAMPLE: C>set DSZOPT=r
  1291.     Enables DSZ's Intelligent Crash Recovery(TM) as a default.
  1292.  
  1293.     Let's say you wish ZMODEM crash recovery, and BBS "graphics" for the DSZ
  1294.     term function:
  1295.     C>set DSZOPT=r8g
  1296.  
  1297.     WARNING: Do NOT include "ena" or any other commands in the DSZOPT string.
  1298.     With the exception of the "8g" mode, only **options** may be placed in the
  1299.     DSZOPT string!  (Options are the letters that modify the sz, rz, sb, etc.
  1300.     commands.  In "rz -r", "r" is an option.)
  1301.  
  1302.  
  1303. MAXBYTES  Maximum number of bytes allowed for transfer.  If this number is
  1304.     exceeded, DSZ skips the offending files (ZMODEM) or aborts remaining files
  1305.     in the batch (YMODEM).
  1306.  
  1307.  
  1308. DSZPORT   Default communications port override, default 1.
  1309.  
  1310.     EXAMPLE: C>set DSZPORT=2
  1311.  
  1312.  
  1313. ZONE   sets the z numeric parameter to the number of minutes the current local
  1314.     time lags GMT time.  PDT or MST corresponds to 420.  PST corresponds to
  1315.     480.
  1316.     EXAMPLE:
  1317.     C>set ZONE=420
  1318.  
  1319.  
  1320.  
  1321. ──────────────────────────
  1322. 1. IN CASE OF DIFFICULTY:
  1323. ──────────────────────────
  1324.  
  1325. If you have difficulty getting DSZ to work, start with the following command
  1326. to DSZ, given directly from the DOS prompt, without running any TSR or other
  1327. COMM program:
  1328.  
  1329.                        dsz port 1 speed 2400 d t
  1330.  
  1331. Type it exactly as it appears above; do NOT use upper case.
  1332.  
  1333. (Change the port number and speed as necessary.  Use only COM1 or COM2 for
  1334. testing.)
  1335.  
  1336. This connects you to the modem.  Dial a bulletin board by typing AT commands
  1337. to the modem ("ATDP621-3746 <enter>") to make it dial the BBS.  Log in as
  1338. usual.  Then, request a ZMODEM download of a file you don't already have.  The
  1339. file will download automatically, you don't have to do anything.  This
  1340. procedure verifies the correct operation of DSZ.
  1341.  
  1342.  
  1343. ────────────
  1344. 1.1  LOCKUPS
  1345. ────────────
  1346.  
  1347. 1.1.1  Insufficient Memory
  1348.  
  1349. DSZ complains when it detects insufficient memory to operate.  When calling
  1350. DSZ from another program, there may be ALMOST enough memory for proper
  1351. operation, but DSZ locks up during a transfer or the calling program freezes
  1352. after DSZ displays the "DSZ Finished" message.
  1353.  
  1354. Sometimes there is a message about insufficient memory, sometimes just a
  1355. lockup and no message.  To verify this problem, call CHKDSK from within your
  1356. comms program (not from DOS!) by defining it as an external protocol.  If you
  1357. use an interface program (Hotkeyz, Prodoor, etc.), you must call CHKDSK from
  1358. that program, as those programs also reduce the memory available to DSZ.
  1359.  
  1360. CHKDSK should report at least 64k free memory.  If less memory is reported,
  1361. reduce the size of the COMMS program's capture buffer, or reboot the system
  1362. with fewer/smaller device drivers and TSR programs.  Calling DSZ directly from
  1363. the comms program instead of from an interface also saves memory.
  1364.  
  1365.  
  1366. 1.1.2  Environment TOO BIG
  1367.  
  1368. A large environment may cause DSZ.COM to lockup.  The size of the environment
  1369. (the amount of text you get when you give the DOS "set" command) is subtracted
  1370. from the data space available to 8086 C programs.  This can be a problem with
  1371. DSZ.COM, whose 8086 tiny model limits code, data, stack, and environment to 64
  1372. kb TOTAL.  If DSZ.COM complains about the environment being too big, you
  1373. should correct the problem.  Use DSZ.EXE (compiled with 8086 small model) to
  1374. alleviate this problem.
  1375.  
  1376.  
  1377. 1.1.3  Bad COMM Port Configuration
  1378.  
  1379. DSZ is fastidious about which interrupt vectors it takes over.  Unlike some
  1380. programs, DSZ uses only the correct interrupt vector for its interrupt service
  1381. routine.  (This allows multitasking.)
  1382.  
  1383. DSZ obtains and releases this vector with standard DOS function calls.  This
  1384. allows multi line operation under DESQview and other multitasking systems.
  1385.  
  1386. Incorrectly configured serial ports that work with programs that pig out both
  1387. IRQ3 and IRQ4 will lock up with DSZ.  If DSZ locks up the machine as soon as
  1388. it tries to send or receive data, this is usually the fault.  Make sure the
  1389. comm port is strapped correctly; COM1 uses IRQ4, COM2 uses IRQ3.  DSZ will
  1390. lock up if the comm port is not properly set up.
  1391.  
  1392. In addition, DSZ will not work properly if two devices are connected to the
  1393. same IRQ line, even when some other programs (that don't use interrupts as
  1394. intensively) do work normally on the same machine.
  1395.  
  1396. COM3 and above are not widely standardized.  If you have problems with COM3,
  1397. chances are your "COM3" is non standard.
  1398.  
  1399.  
  1400. 1.1.4  No Carrier Detect
  1401.  
  1402. If you see a No Carrier Detect message, and you haven't lost the connection,
  1403. you need to give the d command:
  1404.                               dsz port 1 speed 2400 d t
  1405.  
  1406. Better yet, fix your modem cable or modem to allow proper operation of the
  1407. Carrier Detect signal (CD)!
  1408.  
  1409. Some BBS and/or "door" programs hang when the program (such as DSZ) they call
  1410. returns with a non 0 exit status.  Please refer to the "EXIT STATUS" chapter
  1411. of the document for more information.
  1412.  
  1413.  
  1414. 1.1.5  DOS 3.x
  1415.  
  1416. DOS 3.x systems may need to have a "STACKS = 8,256" line in CONFIG.SYS to
  1417. prevent antisocial behavior. This is required on the NEC Multispeed, or if
  1418. certain TSR's are used.
  1419.  
  1420.  
  1421. 1.1.6  Perstor Controllers
  1422.  
  1423. Several reports have been received indicating Perstor disk controllers
  1424. interfere with data communications.  Perstor is reportedly working on a fix.
  1425.  
  1426.  
  1427. 1.1.7  IBM PS/2 Model 50Z
  1428.  
  1429. Early samples of this machine have a design error on the motherboard that
  1430. causes comms programs to lock up the machine.  Replacing the motherboard with
  1431. a correctly functioning unit from current production corrects the problem.
  1432. The part number of the replacement PS2/50 Z motherboard is 35F5928.
  1433. (Information provided by John M. Choma 73047,3566) U.S. IBM has stonewalled on
  1434. this issue, but in December 1988 agreed to replace the defective motherboards
  1435. under warranty.
  1436.  
  1437.  
  1438. 1.1.8  Brain Damaged UARTS
  1439.  
  1440. Omen Technology has received reports of problems with buggy 8250 type UART
  1441. integrated circuits in Leading Edge modem boards, serial port interfaces, and
  1442. computers.  The defective chip logic affects high performance software.
  1443. Replacing the buggy chip with a newer chip (16450 or NS16550AN) corrects the
  1444. problem.
  1445.  
  1446. The UM82450 chip in the Zoom 2400HC also appears to cause problems.
  1447.  
  1448. The NS16550AN is a pin compatible plug in replacement for 8250 and 16450
  1449. serial chips.  Omen Technology software enables the FIFO buffer in the
  1450. NS16550AN to prevents loss of data from poorly written device drivers, TSR
  1451. programs, etc.
  1452.  
  1453. The NS16550AN has better electrical characteristics than the older UART chips.
  1454. 386 and fast 286 machines should use the NS16550AN for best results.  Omen
  1455. Technology software has been written to allow time for the older UART chips to
  1456. operate. However, there is a limit to how much the software can rearrange chip
  1457. accesses without resorting to performance robbing wait loops.  Some other
  1458. software is not as forgiving of slow chips.
  1459.  
  1460. Jameco Electronics at 415-592-8097 sells National NS16550AN chips mail order
  1461. (credit card) in small quantities.  Another source is Arrow Electronics at
  1462. 800-932-7769 (516-467-1000).  Be sure to ask for the NS16550AN.  It's
  1463. important to get the "AN" part, other versions won't do.
  1464.  
  1465. PC BRAND at 800-722-7263 (in Illinois 312-226-5200) is selling I/O cards in
  1466. which both UARTs are socketed, allowing them to be replaced by NS16550AN
  1467. devices.  Shipping and handling is included in their $45 price.  (From Roger
  1468. 1.1.9  Hough)
  1469.  
  1470.  
  1471. 1.1.10  Everex Internal Modems
  1472.  
  1473. Numerous reports have been received concerning difficulties with Everex modem
  1474. cards.  Some of these cards contain buggy 8250 chips which are not up to the
  1475. demands of full duplex streaming protocols such as ZMODEM.  Replacing the
  1476. buggy 8250 chip with a 16450 (or better yet NS16550AN) chip corrects these
  1477. problems.
  1478.  
  1479.  
  1480. 1.1.11  Weird Iron
  1481.  
  1482. A few machines, some with V20 CPUs, don't like DSZ.COM.  We have not been able
  1483. to repeat this; TeleGodzilla (using a V20) runs DSZ.COM without a hitch.
  1484. Switching to DSZ.EXE has cleared up the problems on other machines.
  1485.  
  1486.  
  1487. 1.1.12  Will the real YMODEM please stand up?
  1488.  
  1489. Some XMODEM programs claiming to support YMODEM do not send or accept the
  1490. YMODEM pathname block.  1024 byte XMODEM is XMODEM-1k, not the YMODEM defined
  1491. by Ward Christensen in 1985 when he invented the term YMODEM.  1987 and later
  1492. versions of YMODEM.DOC remind the reader of the official YMODEM definition,
  1493. which has not changed since YMODEM's coinage in 1985.
  1494.  
  1495.  
  1496. 1.1.13  286 and 386 Extended Memory
  1497.  
  1498. Virtual memory disk caches and ramdisks using 80286 or 80386 extended memory
  1499. require a kludge hardware reset of the CPU chip to return to the normal "real
  1500. mode" after accessing extended memory.  This interference to the interrupt
  1501. response time causes lost characters on comm ports, and may be minimized by
  1502. specifying shorter memory transfers.
  1503.  
  1504. Switching to a National NS16550AN UART chip helps tremendously, allowing
  1505. transfers at 115200 bps instead of 9600 bps with a standard 8250.  Please
  1506. refer to the subchapter on "Brain Damaged UARTs".
  1507.  
  1508.  
  1509. ────────────────────
  1510. BACKGROUND OPERATION:
  1511. ────────────────────
  1512.  
  1513. Three DESQview description files are provided to demonstrate background
  1514. operation with modest (66 kb window) memory requirements.  DSZ uses tight
  1515. C/ASM code, table driven CRC generators, and buffered receive and transmit for
  1516. good performance in the background without hogging CPU cycles.  On a QIC Labs
  1517. 8 mHz PC-AT clone, DSZ can download files in the background (3 background
  1518. clock ticks, 9 foreground clock ticks) with a throughput better than 9600 bps.
  1519.  
  1520. 2S   Prompts for file name(s) and sends them with ZMODEM protocol.  File: 2S-
  1521.      PIF.DVP
  1522.  
  1523. 2T   Talks to the modem and allows manual YMODEM (F3) or automatic ZMODEM
  1524.      downloads.  File: 2T-PIF.DVP
  1525.  
  1526. 2A   Like 2T, but using Quarterdeck's dvansi.com memory resident ANSI CRT
  1527.      device driver to process ANSI screen codes.  File: 2A-PIF.DVP DS.BAT is
  1528.      the batch file used by 2A.
  1529.  
  1530. These files are written for a port 2 local connection and \TMP directory, but
  1531. may be modified to suit your requirements using the DESQview CP command.  The
  1532. W numeric allows DESQview to close the window after DSZ finishes, providing a
  1533. pleasant user interface.
  1534.  
  1535. Other DVPs, Scripts, and Batch files are available on the DESQView conference
  1536. on the Sound of Music as DVDSZ20Z.ARC.
  1537.  
  1538. Please consult the DESQview documentation for instructions on installation
  1539. procedure for the DVP files.
  1540.  
  1541. Operation at high speed (above 9600 bps) may require the DESQview "Optimize
  1542. communications" performance Advanced Setup option.
  1543.  
  1544. Newer versions of DESQview may require more "common memory" allocation (6-8 k
  1545. bytes) to operate with DSZ.  Some versions of DESQview do not operate properly
  1546. with DSZ; DESQview 2.0 is known to work, and DESQview 2.25 is reported to have
  1547. fixed bugs in intermediate versions.
  1548.  
  1549. On 286 and 386 machines, some DESQview operations involve swapping memory
  1550. contents with buffers in extended memory.  As with extended memory ramdisks
  1551. and disk caches, this causes errors with high speed communications.  The
  1552. considerations discussed in the "286 and 386 Extended Memory" subchapter apply
  1553. here.  Since this DESQview extended memory swapping is asynchronous with
  1554. respect to DSZ's file transfers, "handshake slow" doesn't help.  The solution
  1555. is to force DESQview's memory swaps to use smaller blocks (with interrupts
  1556. allowed between blocks) and/or use NS16550AN chips for the serial interface.
  1557.  
  1558. When running a comm program under DESQview or any related multitasking
  1559. executive, DSZ must be called directly from the comm program, in the same
  1560. window.  DO NOT open a separate window for DSZ unless you were about to power
  1561. down the computer anyway.
  1562.  
  1563. With some communications programs, you can make the call, log in, and then
  1564. exit (closing the window) without disconnecting the modem.  At this time you
  1565. can fire up DSZ with the "t" command to allow YMODEM or ZMODEM downloads in a
  1566. small window.
  1567. Example File: 2A-PIF.DVP
  1568.  
  1569. Alternatively, you can start DSZ from the DOS prompt, then type "AT" commands
  1570. to the modem to call the bulletin board.  DESQview's "learn" facility may be
  1571. helpful here.
  1572.  
  1573.  
  1574. ───────
  1575. PROCOMM:
  1576. ───────
  1577.  
  1578. DSZ may not operate properly when called from ProComm if ProComm has files
  1579. open at the time.
  1580.  
  1581. A number of reports have been received of problems running DSZ from ProComm
  1582. Plus because of insufficient memory.  Please refer to the subchapter on
  1583. LOCKUPS.
  1584.  
  1585. When running under ProComm's Host mode, failure to use the DSZ CON command may
  1586. cause ProComm to lock up the computer, or at least interfere with file
  1587. transfers, etc.
  1588.  
  1589. EXAMPLE: DSZ CON sz %1
  1590.  
  1591. A number of third party programs have been developed to provide a congenial
  1592. interface to DSZ if you have enough memory to spare.  The POE, PCALL, DSZ_ZAP,
  1593. and PROZ programs have been popular in interfacing DSZ to ProComm's editor
  1594. gateway.  These programs are available on many bulletin boards.
  1595.  
  1596. Hint: the DOS PATH environment variable must include ProComm's directory to
  1597. allow POE to locate all the POE files,.  The POE files should be stored in the
  1598. ProComm directory.  Setting the "PROCOMM" environment variable is
  1599. insufficient.
  1600.  
  1601.  
  1602.  
  1603. ───────────────────
  1604. 2. ERROR MESSAGES:
  1605. ───────────────────
  1606.  
  1607. COM2 1200 bps Carrier Detect enabled Handshake slow
  1608. Command line = (commands)
  1609. This is a normal message displayed to help resolve problems with incorrect
  1610. batch files.  The port number, speed, carrier detect ("enabled" or "DISABLED")
  1611. and "handshake" indicate the selected mode of operation.
  1612. DSZ FINISHED! exit code = 0
  1613. This is DSZ's normal exit when at least one file has been transferred and no
  1614. unrecoverable errors have been detected.  If an error such as a failed file
  1615. transfer had been detected, the exit code would be 1, or the value set in the
  1616. Q numeric parameter.
  1617.  
  1618. As the message implies, DSZ has done all of its processing, and has return the
  1619. communications port and vector to its original value before displaying this
  1620. message.  If the computer locks up after this message is displayed, there's
  1621. something wrong with the program that called DSZ, not with DSZ itself.
  1622.  
  1623. Unknown Machine Type XX, 'a' parameter preset to 6000 indicates a ROM BIOS
  1624. that does not follow the IBM specification for identifying the machine type.
  1625. If your computer causes DSZ to display this message, you may set the a numeric
  1626. parameter described elsewhere in this document.  This message is generated
  1627. before any commands are read, so do not be alarmed when you "discover" that
  1628. setting the a parameter doesn't make this message go away.  The a parameter
  1629. does not affect ZMODEM transfers.
  1630.  
  1631. Please send us a postcard or letter indicating the reported hex value for
  1632. machine Type, name of the computer, and its speed so we can include that
  1633. machine type in a future release.
  1634.  
  1635. Need more memory to run DSZ or Abnormal program termination is displayed by
  1636. the TurboC startup routine if DSZ is run in too small a memory partition.  If
  1637. you see this message, use a larger memory partition for DSZ or remove some
  1638. memory resident programs.  This message may also appear if the calling program
  1639. fails to free memory before calling DSZ.
  1640.  
  1641. No Carrier Detect is displayed when DSZ recognizes a lack of carrier detect
  1642. signal from the modem.  Most support calls concerning "No Carrier Detect" are
  1643. caused by the user failing to tell DSZ to use the correct port.  DSZ does not
  1644. magically divine the COM port number; if the default COM1 is incorrect, DSZ
  1645. must be told what port to use with the port command or the DPORT environment
  1646. variable.
  1647.  
  1648. No Carrier Detect may also be caused by a line disconnect, defective cable, or
  1649. incorrect modem strapping.  It may be disabled with the d command.  Sometimes
  1650. this is caused by setting the B parameter to too large a value.
  1651.  
  1652. Garbage Count Exceeded Indicates ZMODEM has not detected a valid start of
  1653. header in a reasonable number of characters.
  1654.  
  1655. If DSZ becomes "stuck" on emitting this messages, it is possible the sending
  1656. program may not be able to recognize and act upon transmission requests (ZROPS
  1657. headers).  The sending program should be corrected.  In the meantime, setting
  1658. a ZMODEM packet length with the "zmodem pl4096" ("l" is the small letter l)
  1659. command will force the sender to wait for the receivers' progress reports.
  1660.  
  1661. Permission denied comes from the Microsoft C Library.  This is caused by
  1662. attempts to modify a read only file or directory, or to create a file in a
  1663. nonexistent directory.
  1664.  
  1665. A furtive flashing appearance of XOFF or FLOW during ZMODEM or YMODEM-g file
  1666. sending signifies DSZ is responding to flow control restraint.  This is normal
  1667. operation when buffered modems or packet switched networks are used.  ZMODEM's
  1668. robustness and reliability allow creative users to transfer files over unusual
  1669. multiple computer lash-ups, causing modem data lights and computer status
  1670. displays to dance in unfamiliar rhythms.
  1671.  
  1672. Output FLow Control Restraint RELEASED Indcates DSZ has not received a
  1673. positive flow control signal (XON and/or CTS as specified by the handshake
  1674. command) within the timeout specified by the S numeric parameter.  This
  1675. message may appear as the result of line noise.  If it appears sonsistiently,
  1676. it may indicate improper flow control settings, defective modem and/or cable,
  1677. or (rarely) too small a value for the S numeric parameter.
  1678.  
  1679. Not allowed to overwrite %s By default, DSZ will not overwrite an existing
  1680. file.  Use the -y or -n or -r option to overwrite/update existing files.
  1681.  
  1682.  
  1683.  
  1684. 2.1  Got ZRPOS
  1685.  
  1686. Got ZRPOS indicates the receiving program has detected a transmission error
  1687. and has requested retransmission.  In other words, ZMODEM is doing its job of
  1688. detecting and correcting missing and garbled data.  If this happens more often
  1689. than observed line errors would indicate is reasonable, there may be a flow
  1690. control problem in one of four areas:
  1691.  
  1692.   + Between the sending program and its modem.  If using an interface speed
  1693.     higher than the transmission speed, or modem to modem error correction
  1694.     (MNP, LAPB, PEP, etc.), check that the modem and the sending program are
  1695.     configured for the same flow control methods.  Omen Technology's software
  1696.     is faster than most other programs, and may expose flow control problems
  1697.     not seen with slower software.
  1698.  
  1699.   + Between the sending modem and the network.  Correcting this requires
  1700.     "handshake both" to allow the sending program to honor both hardware (CTS)
  1701.     flow control from the modem and software flow control (XON/XOFF) from the
  1702.     network.
  1703.  
  1704.   + Between parts of the network.
  1705.  
  1706.   + Between the receiving modem and the receiving program.  This can happen at
  1707.     high transmission speeds when the receiver has specified a large I/O
  1708.     buffer size with the B numeric parameter.
  1709.  
  1710.     Excessive interrupt latency from extended memory ramdisks or disk caches,
  1711.     and poorly written hard disk drivers also wreak havoc on streaming
  1712.     protocols but do not affect start-stop protocols (XMODEM, etc.).  Problems
  1713.     with extended memory disk caches may cause errors at regular intervals;
  1714.     check the receiver's error messages.
  1715.  
  1716.     To work around these problems, give the "handshake slow" command to the
  1717.     receiver.
  1718.  
  1719. Byte NNNN retry M: <error message> These messages appear when the protocol has
  1720. detected an error and is attempting to retransmit the garbled data.  These are
  1721. normal messages.
  1722.  
  1723.  
  1724.  
  1725. 2.2  Serial Input Error: Line Status Register xx
  1726.  
  1727. Serial Input Error: Line Status Register HH indicates a slow device driver,
  1728. TSR program, or other software is disabling interrupts too long for the
  1729. program to accept incoming data, and some characters are lost.  A slow
  1730. response to folow control also triggers this message.
  1731.  
  1732. The value of the line status register is displayed in HEX.  The following
  1733. error conditions when present OR into the Line Status Register.
  1734.  
  1735.  
  1736. 01   The Interrupt level circular buffer has been overrun.  The remote did not
  1737.      respond to 's XOFF or hardware flow control, and continued to send
  1738.      characters after being told not to.  This problem is alleviated by
  1739.      correct modem flow control configuration.
  1740.  
  1741. 02   An 02 value for the LSR indicates Data Overrun.  "Data Overrun" means the
  1742.      computer was not able to respond to an incoming character from the UART
  1743.      (modem) in time to make room for the next incoming character.  Data
  1744.      Overruns are caused by poorly designed software (or ROM BIOS "firmware")
  1745.      locking out interrupts for excessive periods.  These lockouts prevent the
  1746.      communications program from responding to the incoming characters quickly
  1747.      enough.
  1748.  
  1749.      To correct Data Overruns, correct the offending condition(s) to allow the
  1750.      communications program to operate properly.
  1751.  
  1752.      Common causes of excessively long interrupt lockouts ("critical code
  1753.      regions") are disk drivers (BIOS), window managers, disk caches, TSR
  1754.      programs, EGA/VGA board auto-select.
  1755.  
  1756.      Some BIOS programs are written without regard to their effect on high
  1757.      speed communications.  Sometimes better versions of the offending BIOS
  1758.      programs are made available if enough users complain about poor
  1759.      performance.
  1760.  
  1761.      Interrupt latency caused by EGA/VGA board auto-select can be often
  1762.      corrected by disabling the board's Auto-Select.
  1763.  
  1764.      Other chapters in this document give suggestions for working around
  1765.      excessive interrupt latency, primarily the handshake slow command and use
  1766.      of the NS16550AN UART chip.  Please refer to the "Brain Damaged UARTS"
  1767.      subchapter.
  1768.  
  1769. 08   Framing Error generally caused by line noise or an incorrect transmission
  1770.      speed ("baud rate") or format (number of bits).  Most protocols require 8
  1771.      bits no parity (-8n) for proper operation.  This is set automatically by
  1772.      Omen Technology programs, but other programs may not be so smart.
  1773.  
  1774. 10   Break Interrupt generally caused by line noise or an incorrect
  1775.      transmission speed ("baud rate") or format (number of bits).
  1776.  
  1777. 18   Framing Error and Break Interrupt (see above) in combination.
  1778.  
  1779.      This error may also be caused by defective 8250 UART chips.  Certain
  1780.      internal modem cards have slow 8250 chips that do not operate properly
  1781.      with computers faster than 4.77 mHz.  Replacing the 8250 with a NS16550AN
  1782.      is recommended.
  1783.  
  1784.  
  1785.  
  1786. 2.3  Out of Environment
  1787.  
  1788. Means there is not enough room in the program environment to accept more data.
  1789.  
  1790. DOS prints this message when it cannot allocate more memory to accommodate a
  1791. "set" command, such as "set dirrx=c:/downloads/".
  1792.  
  1793. Try moving the "set" commands to the batch file that calls your comms program,
  1794. or to your AUTOEXEC.BAT file.
  1795.  
  1796. To increase environment, use the /E switch. The default is 160 bytes.
  1797.  
  1798. An example for your CONFIG.SIS file: SHELL=C:COMMAND.COM/E:256
  1799.  
  1800. NOTE: Large environments may cause DSZ.COM to lockup.  This is less of a
  1801. problem with DSZ.EXE.
  1802.  
  1803.  
  1804.  
  1805. 2.4  SLOW TRANSFERS
  1806.  
  1807. Some users report slower than expected file transfers even when few or no
  1808. errors are reported.  Some possible causes are:
  1809.  
  1810. If "handshake slow" is used, throughput may suffer.  Try one of the other
  1811. solutions to the "Line Status Register = 02" error problem discussed above.
  1812. It may be possible to increase the modem's interface speed, say from 9600 to
  1813. 19200 bps.
  1814.  
  1815. Bad phone lines will silently slow MNP modems, sometimes without any error
  1816. indications.  Of the modems disconnect fairly often you should suspect
  1817. marginal phone line conditions that are begin "covered up" by the MNP.
  1818.  
  1819. The other ZMODEM may have a parameter or option is use that acts to slow the
  1820. transfer under certain conditions.
  1821.  
  1822.  
  1823. ─────────────────────────────────────
  1824. JAN-22-1990: ZMODEM-90(TM) EXTENSIONS:
  1825. ─────────────────────────────────────
  1826.  
  1827. Receiver specified window size: The -Wn option operates similarly to the -wn
  1828. option.  The -Wn option is specified to the receiver, which sends this
  1829. information to the sender.  Pro-YAM, ZCOMM and DSZ versions beginning with Jan
  1830. 22 support this.
  1831.  
  1832. Specified extra escaped characters: The "zmtxesc" and "zmrxesc" allow extra
  1833. characters to be escaped when sending (zmtxesc) or receiving (zmrxesc).
  1834. Zmtxesc is effective sending to any ZMODEM program.  The sz commands in Omen
  1835. products after Jan 22 1990 except for DSZ.COM recognize incoming "zmrxesc"
  1836. requests.  TThe zmrxesc and zmtxesc string parameters consist of one or more
  1837. printing characters corresponding to the control characters to be escaped.  To
  1838. escape NULL:  set zmrxesc "@"
  1839.  
  1840. Since DSZ does not support string parameters, a -Q<string> option unique to
  1841. DSZ performs the same function as zmrxesc and zmtxesc.  If the Q<string>
  1842. option is used in DSZOPT, it must be last.  To escape NULL: dsz sz -Q@
  1843. file.ext
  1844.  
  1845. MobyTurbo(Tm):
  1846.  
  1847. MobyTurbo optimizes throughput on ZIP, ARC, and similar files over paths that
  1848. support YMODEM-g (or would except for random errors).  MobyTurbo cannot be
  1849. used with most types of software flow control (or "handshake both").
  1850.  
  1851. Activate MobyTurbo with the -m option to one or more of: sz, rz, or adlopts.
  1852.  
  1853. LOCK OUT MobyTurbo with the -M option.  -M is effective until the next "call"
  1854. command.  Use -M in situations when the sender has -m turned on and YAM's
  1855. check fails to discover path conditions that preclude MobyTurbo.
  1856.                     
  1857.                     
  1858.                     
  1859. ──────────────────────
  1860. MAJOR REVISION HISTORY:
  1861. ──────────────────────
  1862.  
  1863. The ZMODEM "Slow Send" mode inserts a brief pause after each subpacket when
  1864. invoked with the -F option, or automatically when the "sz" command detects
  1865. failing flow control.  The zmodem F numeric parameter (default 1) sets the
  1866. pause in tenths of seconds.
  1867.  
  1868. 4-24-89 The -rr option has been improved.  Long file compares are done in two
  1869. stages to save time when the first portions do not match.  Diagnostic code and
  1870. undocumented commands have been removed to decrease the program size.
  1871.  
  1872. DSZ now defaults to "handshake both" if the speed is greater than 2400 and the
  1873. clear to send signal is high when DSZ selects the comm port (was "handshake
  1874. on" in 3-19).
  1875.  
  1876. The 4-18 version introduces ZMODEM variable length headers of up to 16 bytes
  1877. information field instead of the previous fixed 4.  Selection of variable
  1878. length header capability is automatic and downward compatible.  Variable
  1879. length headers allow future extensions to ZMODEM's capabilities.
  1880.  
  1881. ZMODEM Crash Recovery now understands the -rr option to compare the CRC-32 of
  1882. the assumed common file segment before continuing an incomplete file transfer.
  1883. The "zmodem R" numeric parameter may be set to limit the number of bytes in
  1884. the files that are compared; the default R value of 0 allows all of the file
  1885. to be compared, an R value up to 32000 (up to 2 billion on 32 bit flavors)
  1886. limits the comparison to the first R bytes of the two files.  The ZMODEM -rr
  1887. option is supported by Omen Tech versions April 18 1989 and later.
  1888.  
  1889. When ZMODEM Crash Recovery detects incompatible source and destination file
  1890. contents, the destination file is now truncated to zero length before
  1891. proceeding with the transfer.  Crash Recovery requires the destination file to
  1892. be no longer than the source file.
  1893.  
  1894. Error reporting on unregistered copies has been enhanced to point the user to
  1895. solutions described in the relevant chapters in DSZ.DOC.
  1896.  
  1897. 3-18-89 In order to work around a bug in the new TCOMM bbs, DSZ now defaults
  1898. to "handshake on" if the speed is greater than 2400 and the clear to send
  1899. signal is high when DSZ selects the comm port.
  1900.  
  1901. The "o" command has been added to disconnect the modem after a terminal
  1902. session: "dsz t o" disconnects the modem when the terminal session is
  1903. completed.
  1904.  
  1905. The "P" (capital P) numeric parameter (q.v.) has been added to display and
  1906. control the UART fifo on some clone chips.
  1907.  
  1908. Handling of the Ctrl-Break vector has been changed so an untimely keyboarded
  1909. Ctrl-C or Ctrl-Break will not hang DOS.
  1910.  
  1911. 2-15-89  DIRRX is enabled for BBS registrations (8xxx numbers).  Logic has
  1912. been added to simulate transmit interrupts on chips that have problems in this
  1913. area.  The "A" command does not require registration.  An interaction between
  1914. ONAME= or PREFIX= and the file count display has been removed.  Time/date
  1915. conversion routines have been enhanced to deal with files with missing dates.
  1916. The "v" command has been added to allow bbs programs to interrogate DSZ's
  1917. serial number.
  1918.  
  1919. 2-06-89 A spurious error message at the completion of YMODEM downloads with a
  1920. download directory specified on the command line has been eliminated.
  1921.  
  1922. 2-05-89 DSZ now returns a non 0 status unless at least one file has been
  1923. transferred.  An inappropriate pathname/disk specifier check on specified
  1924. download directories has been removed.
  1925.  
  1926. Previous versions:
  1927.  
  1928. Added the "A" command to prevent pcAnywhere host mode from locking up DSZ.
  1929. SlugBait logic has been simplified, reporting any failed file transfer where
  1930. any of the last 1K of the file was sent with Q status.
  1931.  
  1932. Introduced ZMODEM RLE compression with the -Z option.  (registered DSZ copies
  1933. also accept "Z" in the DSZOPT environment variable.) ZMODEM RLE compression
  1934. packs runs of the same character in two or three character sequences.
  1935. Compression is useful for screen dumps, uncompressed workspaces, compiler
  1936. listings, and other files rich with strings of repeated characters, but not
  1937. .ARC, .ZOO and other compressed files.  Compression percentages range from -1
  1938. per cent for already compressed files to more than 1000 per cent (10x
  1939. speedup!) for the Personal Computing text file benchmark(!).  When sending to
  1940. programs that do not support ZMODEM compression, the -Z option is ignored.
  1941. The -Z option is effective when specified to the sending program only.
  1942.  
  1943. Good news for tired frog stompers!  The ZMODEM rz/sz programs are now
  1944. available in a VMS C flavor.  The VAX/VMS source files are contained in the
  1945. RZSZ.ARC (RZSZ.ZOO) archive file.
  1946.  
  1947. "Handshake slow" has been added to disable the RTS signal to the modem while
  1948. writing to disk, even if the interrupt buffer is not chock full of bytes.
  1949. This should help systems with excessive interrupt latency on disk writes.
  1950.  
  1951. Setting the v (verbose) parameter to 1 or greater causes serialized copies to
  1952. ring the bell when a transfer is done.
  1953.  
  1954. DSZ.DOC has been extensively rewritten and reorganized.  DSZ now supports the
  1955. advanced buffering of the National NS16550AN and Intel 82510 serial interface
  1956. devices.  Please refer to the subchapter on "Brain Damaged UARTs".
  1957.